package com.mjh.zhujianju.service.party;

import com.livew.framework.base.service.BaseService;
import com.livew.framework.exception.XTBusinessException;
import com.livew.framework.page.PagedResult;
import com.mjh.zhujianju.model.party.BuildingMeetingEO;
import com.mjh.zhujianju.model.party.BuildingMeetingUsersEO;
import com.mjh.zhujianju.vo.party.BuildingMeetingUserVO;
import com.mjh.zhujianju.vo.party.BuildingMeetingVO;
import org.springframework.boot.autoconfigure.info.ProjectInfoProperties;

import java.util.List;
import java.util.Map;

public interface BuildingMeetingService extends BaseService<BuildingMeetingEO>{

    PagedResult<BuildingMeetingVO> findBuildingNewsPagination(BuildingMeetingEO buildingMeetingEO);

    /**
     * 保存
     * @param buildingClassVO
     * @throws XTBusinessException
     */
    void saveInfo(BuildingMeetingVO buildingClassVO) throws XTBusinessException;

    /**
     * 会议详情
     * @param id
     * @return
     */
    BuildingMeetingVO queryBuildingMeetingInfo(Long id);
    
    /**
     * 会议详情
     * @param id
     * @return
     */
    BuildingMeetingVO queryAPIBuildingMeetingInfo(Long id);

    /**
     * 参与会议人员详情
     * @param buildingMeetingUsersEO
     * @return
     */
    PagedResult<BuildingMeetingUserVO> findBuildingMeetingUsersPagination(BuildingMeetingUsersEO buildingMeetingUsersEO);
    /**
     * 查找详情
     * @param id
     * @throws XTBusinessException
     */
    BuildingMeetingVO getInfo(Long id) throws XTBusinessException;

    /**
     * 根据用户id查询自己发起的会议和有关他自己的会议
     * @param userId 用户id
     * @return map
     */
    Map<String,List<BuildingMeetingVO>> queryBuildingMeetingList(Long userId);

	void updateUsersStatus(Long meetId, Long userId) throws XTBusinessException;

}
